package shg.book.control
{
	import mx.collections.ArrayCollection;

	public class SaveEdit
	{
		
		//页面的文字
		private var page_word:ArrayCollection;
		//页面的图片
		private var page_image:ArrayCollection;
		//页码
		public var page_number:Number=1;
		//每一页图片的序号
		private var img_sequence:Number=1;
		
		private var  newxml:XML;
		//textFlow标签
		public var textFlow_label:XML;
		/**
		 *  将转换成xml之后的TextFlow添加保存进数组里面
		 * 
		 * */
		public function save_page(xml:XMLList):void{
			if(page_word==null){
				page_word=new ArrayCollection();
			}
			page_word.addItem(xml);	
			
			set_Img_ID(xml)
		}
		/**
		 * 这里将数组里面的所以文件写如文件里面
		 * 这里需要十分注意的一点是我们记录数组的每一借的长度
		 * 并要保存到另外一个文件数组里面，当我们读取文件的时候就是
		 * 根据这些长度来读取的
		 * // 
		 * */
		private function set_Img_ID(xml:XMLList):void{
			newxml=new XML(<order></order>);
			newxml.appendChild(xml);
			
			edit_img(newxml.children());
		}
		/**
		 * 这一步就是真正的给所有的img标签设置ID并赋值
		 * */
		private function edit_img(list:XMLList):void{
			var imgLength:Number=list.img.length();
			//先判断其是否存在子节点,如果存在子节点当前节点是否存在img
			if(list.length()>0){
				if(imgLength>0){
					for(var i:Number=0;i<imgLength;i++){
						list.img[i].@id=String(page_number)+"_"+String(img_sequence);
						trace(list.img[i].(@id));
						img_sequence++;
					}
				}
			}
			//如果还存在子节点就递归调用
			if(list.children().length()>0){
				edit_img(list.children());
			}else{
				baxk_xml();
			}
		}
		/**
		 * 这里需要把<order> </order>标签换成<TextFlow></TextFlow>
		 * 也就是还原成原来的标签
		 * */
		private function baxk_xml():void{
			//如果把当前页的所有子节点都寻找完之后就把序号设置为1
			img_sequence=1;
			//就是这里开始还原
			textFlow_label.appendChild(newxml.children());
		}
	}
}